Everything Totally Explained


Ask & we'll explain, totally!
Comparison of layout engines (DOM)
Totally Explained


  NEW! All the latest news in the worlds of computer gaming, entertainment, the environment,  
finance, health, politics, science, stocks & shares, technology and much, much, more.  


View this entry using RSS

Everything about Comparison Of Layout Engines Dom totally explained

The following tables compare DOM compatibility and support for a number of layout engines. Please see the individual products' articles for further information. This article isn't all-inclusive or necessarily up-to-date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
   For features that are fully supported (based on DOM Level 2 or DOM Level 3 modules that are under W3C Recommendation), an exact version number is given if it's certain that the feature was added in such version; otherwise, a rough version number is given (for example < 2.0 means that the feature was supported since version 2.0 or below). DOM Level 0 and DOM Level 3 modules that are still under development are not included.

General overview

Trident Tasman Gecko WebKit KHTML Presto iCab
DOM1
DOM2
DOM3

Core (Fundamental)

The interfaces within this section are considered fundamental, and must be fully implemented by all conforming implementations of the DOM, including all HTML DOM implementations.
DOM2 DOM3 DOM2 DOM3 DOM2 DOM3 DOM2 DOM2 DOM3 DOM2 DOM3 DOM3
Trident Tasman Gecko WebKit KHTML Presto iCab
Exception DOMException
DOM1 code ? ? ? ? ?
Interface DOMStringList
DOM3 length rowspan="3" rowspan="3" rowspan="3" rowspan="3" ? rowspan="3" ?
contains ? ?
item ? ?
Interface NameList
DOM3 length rowspan="5" rowspan="5" rowspan="5" rowspan="5" rowspan="5" rowspan="5" rowspan="5"
getName
getNamespaceURI
contains
containsNS
Interface DOMImplementationList
DOM3 length rowspan="2" rowspan="2" rowspan="2" rowspan="2" rowspan="2" rowspan="2" rowspan="2"
item
Interface DOMImplementationSource
DOM3 getDOMImplementation rowspan="2" rowspan="2" rowspan="2" rowspan="2" rowspan="2" rowspan="2" rowspan="2"
getDOMImplementationList
Interface DOMImplementation
DOM1 hasFeature ? ? ?
createDocumentType rowspan="2" rowspan="2" rowspan="2" rowspan="2" ? rowspan="2" ?
createDocument ? ?
getFeature ? ?
Interface DocumentFragment
DOM1 (no properties) ? ? ?
Interface Document
DOM1 doctype rowspan="12" ? ?
implementation ? ?
documentElement ? ?
createElement ? ?
createDocumentFragment ? ?
createTextNode ? ?
createComment ? ?
createCDATASection ? ?
createProcessingInstruction ? ? ?
createAttribute ? ?
createEntityReference ? ? ?
getElementsByTagName ? ?
importNode rowspan="5" rowspan="5" ? ?
createElementNS ? ?
createAttributeNS ? ?
getElementsByTagNameNS ? ?
getElementById ? ?
inputEncoding rowspan="10" rowspan="10" rowspan="10" ? ?
xmlEncoding ? ?
xmlStandalone ? ?
xmlVersion ? ?
domConfig ? ?
strictErrorChecking ? ?
documentURI ? ?
adoptNode ? ?
normalizeDocument ? ?
renameNode ? ?
Interface Node
DOM1 nodeName rowspan="17" rowspan="17" ? rowspan="17" ?
nodeValue ? ?
nodeType ? ?
parentNode ? ?
childNodes ? ?
firstChild ? ?
lastChild ? ?
previousSibling ? ?
nextSibling ? ?
attributes ? ?
ownerDocument ? ?
insertBefore ? ?
replaceChild ? ?
removeChild ? ?
appendChild ? ?
hasChildNodes ? ?
cloneNode ? ?
namespaceURI rowspan="5" rowspan="5" rowspan="5" ? ?
prefix ? ?
localName ? ?
isSupported ? ?
hasAttributes ? ?
baseURI rowspan="11" rowspan="11" ? ?
textContent ? ?
compareDocumentPosition ? ?
isSameNode ? ?
lookupPrefix ? ?
isDefaultNamespace ? ?
lookupNamespaceURI ? ?
isEqualNode ? ?
getFeature ? ?
setUserData ? ?
getUserData ? ?
Interface NodeList
DOM1 length rowspan="2" rowspan="2" rowspan="2" rowspan="2" ? rowspan="2" ?
item ? ?
Interface NamedNodeMap
DOM1 length rowspan="5" rowspan="5" rowspan="5" rowspan="5" ? rowspan="5" ?
getNamedItem ? ?
setNamedItem ? ?
removeNamedItem ? ?
item ? ?
getNamedItemNS rowspan="3" rowspan="3" rowspan="3" rowspan="3" ? rowspan="3" ?
setNamedItemNS ? ?
removeNamedItemNS ? ?
Interface CharacterData
DOM1 data rowspan="7" rowspan="7" rowspan="7" rowspan="7" ? rowspan="7" ?
length ? ?
substringData ? ?
appendData ? ?
insertData ? ?
deleteData ? ?
replaceData ? ?
Interface Attr
DOM1 name ? rowspan="3" ? rowspan="3" ?
specified ?
value ? ? ?
ownerElement ? ? ?
schemaTypeInfo rowspan="2" rowspan="2" rowspan="2" rowspan="2" ? rowspan="2" ?
isId ? ?
Interface Element
DOM1 tagName rowspan="9" rowspan="9" ? rowspan="9" ?
getAttribute ? ?
setAttribute ? ?
removeAttribute ? ?
getAttributeNode ? ?
setAttributeNode ? ?
removeAttributeNode ? ?
getElementsByTagName ? ?
normalize ? ?
getAttributeNS rowspan="8" rowspan="8" rowspan="8" ? rowspan="8" ?
setAttributeNS ? ?
removeAttributeNS ? ?
getAttributeNodeNS ? ?
setAttributeNodeNS ? ?
getElementsByTagNameNS ? ?
hasAttribute ? ?
hasAttributeNS ? ?
schemaTypeInfo rowspan="4" rowspan="4" rowspan="4" rowspan="4" ? rowspan="4" ?
setIdAttribute ? ?
setIdAttributeNS ? ?
setIdAttributeNode ? ?
Interface Text
DOM1 splitText ? ?
isElementContentWhitespace rowspan="3" rowspan="3" rowspan="3" rowspan="3" ? ?
wholeText ? ?
replaceWholeText ? ?
Interface Comment
DOM1 (no properties) ? ?
Interface TypeInfo
DOM3 typeName rowspan="3" rowspan="3" rowspan="3" rowspan="3" rowspan="3" rowspan="3" rowspan="3"
typeNamespace
isDerivedFrom
Interface UserDataHandler
DOM3 handle
Interface DOMError
DOM3 severity rowspan="6" rowspan="6" rowspan="6" rowspan="6" rowspan="6" rowspan="6"
message
type
relatedException
relatedData
location
Interface DOMErrorHandler
DOM3 handleError
Interface DOMLocator
DOM3 lineNumber rowspan="6" rowspan="6" rowspan="6" rowspan="6" rowspan="6" rowspan="6" rowspan="6"
columnNumber
byteOffset
utf16Offset
relatedNode
uri
Interface DOMConfiguration
DOM3 parameterNames rowspan="4" rowspan="4" rowspan="4" rowspan="4" ? rowspan="4" ?
setParameter ? ?
getParameter ? ?
canSetParameter ? ?

Trident Core (Fundamental) notes

  1. getElementById — returns elements with name attribute set to value being found, not only id. Present in IE7. (External Link)
  2. getAttribute, setAttribute, removeAttribute — returns, sets, and removes, respectively, the corresponding DOM property instead of the string value of the attribute. For example, element.getAttribute('onclick') returns element.onclick, which is a reference to a function and not a string. Another example: element.removeAttribute('class') doesn't work as expected; element.removeAttribute('className') must be called instead. getAttribute and setAttribute with 'style' as their parameter don't work, but the inline style can be retrieved by setting the non-standard iFlags parameter to 2 (for example by calling element.getAttribute('style',2)), or accessed using the Node.style property. (External Link)
  3. AttributeNode.specified — Does not set specified to true if ownerElement should be null.
  4. Node.isSameNode — isSameNode is only supported for XML documents, not HTML ones.

Tasman Core (Fundamental) notes

  • AttributeNode.specified — Does not set specified to true if ownerElement should be null.

    Gecko Core (Fundamental) notes

  • insertBefore, replaceChild, removeChild, appendChild — Fails on Attr nodes (External Link). appendChild doesn't work as expected for DocumentFragment nodes prior to 1.8 (External Link).
  • createEntityReference — Supported, but returns null when the method is checked (External Link).
  • AttributeNode.specified — Does not set specified to true if ownerElement is null (External Link). As it also doesn't create Attribute Nodes for default values specified in the DTD, it renders this property absolutely useless.

    Presto Core (Fundamental) notes

  • getElementById — returns elements with name attribute set to value being found, not only id (External Link). Opera 9.50a1 build 9500 will fix this bug.
  • URI attribute value — In versions prior to Opera 9, all URI attribute values are resolved to full URI. Hence the value from getAttribute and getAttributeNode could be wrong if relative URIs are used.
  • Attributes that are not supported in the layout engine are still parsed and available through DOM. E.g. char and charoff are available under .ch and .chOff.
  • In Opera 8.54 methods DOMImplementation.createDocument and DOMDocument.createElementNS both fail to accept any non-empty namespace URI. They work in Opera 9 Beta 2 and they may also have worked before (somebody with Opera 8, please check.) The symptom is that the namespaceURI property is null/empty and serialization gives wrong result.

    Core (Extended)

    The interfaces defined here form part of the DOM Core specification, but objects that expose these interfaces will never be encountered in a DOM implementation that deals only with HTML.
    DOM2 DOM3
    Trident Tasman Gecko WebKit KHTML Presto iCab
    Interface CDATASection
    DOM1 (no properties) ? ?
    Interface DocumentType
    DOM1 name ? ?
    entities (External Link) ? ?
    notations (External Link) ? ?
    publicId ? ?
    systemId ? ?
    internalSubset ? ?
    Interface Notation
    DOM1 publicId ? ?
    systemId ? ?
    Interface Entity
    DOM1 publicId ? ?
    systemId ? ?
    notationName ? ?
    inputEncoding ? ?
    xmlEncoding ? ?
    xmlVersion ? ?
    Interface EntityReference
    DOM1 (no properties) ? ?
    Interface ProcessingInstruction
    DOM1 target ? ?
    data ? ?

    HTML

    The interfaces found within this section are not mandatory. This section extends the DOM Core API to describe objects and methods specific to HTML documents, and XHTML documents. In general, the functionality needed to manipulate hierarchical document structures, elements, and attributes will be found in the core section; functionality that depends on the specific elements defined in HTML will be found in this section. Elements deprecated since HTML 4.01 are not listed. Some elements and attributes listed here are deprecated in XHTML 1.1. For example, presentation attributes, image maps, frames and targets.
    DOM2 DOM2 DOM2
    Trident Tasman Gecko WebKit KHTML Presto iCab
    Interface HTMLCollection
    DOM1 length rowspan="3" ? ? ? ?
    item ? ? ? ?
    namedItem ? ? ? ?
    Interface HTMLOptionsCollection
    DOM2 length ? ? ? ? ?
    item ? ? ? ? ?
    namedItem ? ? ? ? ?
    Interface HTMLDocument
    DOM1 title ? ? ?
    referrer ? ? ?
    domain ? ? ?
    URL ? ? ?
    body ? ? ?
    images ? ? ?
    applets ? ? ?
    links ? ? ?
    forms ? ? ?
    anchors ? ? ?
    cookie ? ? ?
    open ? ? ?
    close ? ? ?
    write ? ? ?
    writeln ? ? ?
    getElementsByName ? ? ? ?
    Interface HTMLElement
    DOM1 id ? ? ?
    title ? ? ?
    lang ? ? ?
    dir ? ? ?
    className ? ? ?
    Interface HTMLHtmlElement
    DOM1 version ? ? ? ?
    Interface HTMLHeadElement
    DOM1 profile ? ? ? ?
    Interface HTMLLinkElement
    DOM1 disabled ? ? ?
    charset ? ? ?
    href ? ? ?
    hreflang ? ? ?
    media ? ? ?
    rel ? ? ?
    rev ? ? ?
    target ? ? ?
    type ? ? ?
    Interface HTMLTitleElement
    DOM1 text ? ? ?
    Interface HTMLMetaElement
    DOM1 content ? ? ?
    httpEquiv ? ? ?
    name ? ? ?
    scheme ? ? ? ?
    Interface HTMLBaseElement
    DOM1 href ? ? ?
    target ? ? ?
    Interface HTMLStyleElement
    DOM2 disabled ? ? ? ? ?
    media ? ? ?
    type ? ? ?
    Interface HTMLBodyElement
    DOM1 aLink ? ? ?
    background ? ? ?
    bgColor ? ? ?
    link ? ? ?
    text ? ? ?
    vLink ? ? ?
    Interface HTMLFormElement
    DOM1 elements ? ? ?
    length ? ? ?
    name ? ? ?
    acceptEncoding ? ? ? ? ?
    action ? ? ?
    enctype ? ? ?
    method ? ? ?
    target ? ? ?
    submit ? ? ?
    reset ? ? ?
    Interface HTMLSelectElement
    DOM1 type ? ? ?
    selectedIndex ? ? ?
    value ? ? ?
    length ? ? ?
    form ? ? ? ? ?
    options ? ? ?
    disabled ? ? ?
    multiple ? ? ?
    name ? ? ?
    size ? ? ?
    tabIndex ? ? ? ? ?
    add ? ? ? ? ?
    remove ? ? ? ? ?
    blur ? ? ?
    focus ? ? ?
    Interface HTMLOptGroupElement
    DOM1 disabled ? ? ? ? ?
    label ? ? ?
    Interface HTMLOptionElement
    DOM1 form ? ? ?
    defaultSelected ? ? ?
    text ? ? ?
    index ? ? ? ? ?
    disabled ? ? ? ? ?
    label ? ? ?
    selected ? ? ?
    value ? ? ?
    Interface HTMLInputElement
    DOM1 defaultValue ? ? ?
    defaultChecked ? ? ?
    form ? ? ?
    accept ? ? ? ? ?
    accesskey ? ? ? ? ?
    align ? ? ? ? ?
    alt ? ? ? ? ?
    checked ? ? ?
    disabled ? ? ?
    maxLength ? ? ?
    name ? ? ?
    readOnly ? ? ?
    size ? ? ?
    src ? ? ?
    tabIndex ? ? ? ? ?
    type ? ? ?
    useMap ? ? ? ? ?
    value ? ? ?
    blur ? ? ?
    focus ? ? ?
    select ? ? ?
    click ? ? ?
    Interface HTMLTextAreaElement
    DOM1 defaultValue ? ? ?
    form ? ? ?
    accesskey ? ? ? ? ?
    cols ? ? ?
    disabled ? ? ?
    name ? ? ?
    readOnly ? ? ?
    rows ? ? ?
    tabIndex ? ? ? ? ?
    type ? ? ?
    value ? ? ?
    blur ? ? ?
    focus ? ? ?
    select ? ? ?
    Interface HTMLButtonElement
    DOM1 form ? ? ?
    accesskey ? ? ? ? ?
    disabled ? ? ?
    name ? ? ?
    tabIndex ? ? ? ? ?
    type ? ? ?
    value ? ? ?
    Interface HTMLLabelElement
    DOM1 form ? ? ?
    accesskey ? ? ?
    htmlFor ? ? ?
    Interface HTMLFieldSetElement
    DOM1 form ? ? ?
    Interface HTMLLegendElement
    DOM1 form ? ? ?
    accesskey ? ? ? ? ?
    align ? ? ?
    Interface HTMLUListElement
    DOM1 compact ? ? ?
    type ? ? ?
    Interface HTMLOListElement
    DOM1 compact ? ? ?
    start ? ? ?
    type ? ? ?
    Interface HTMLDListElement
    DOM1 compact ? ? ?
    Interface HTMLLIElement
    DOM1 type ? ? ?
    value ? ? ?
    Interface HTMLDivElement
    DOM1 align ? ? ? ? ?
    Interface HTMLParagraphElement
    DOM1 align ? ? ? ? ?
    Interface HTMLHeadingElement
    DOM1 align ? ? ?
    Interface HTMLQuoteElement
    DOM1 cite ? ? ?
    Interface HTMLPreElement
    DOM1 width ? ? ? ? ?
    Interface HTMLBRElement
    DOM1 clear ? ? ?
    Interface HTMLHRElement
    DOM1 align ? ? ?
    noShade ? ? ?
    size ? ? ?
    width ? ? ?
    Interface HTMLModElement
    DOM1 cite ? ? ? ?
    dateTime ? ? ? ? ?
    Interface HTMLAnchorElement
    DOM1 accesskey ? ? ? ? ?
    charset ? ? ?
    coords ? ? ?
    href ? ? ?
    hreflang ? ? ?
    name ? ? ?
    rel ? ? ?
    rev ? ? ?
    shape ? ? ?
    tabIndex ? ? ? ? ?
    target ? ? ?
    type ? ? ?
    blur ? ? ? ? ?
    focus ? ? ? ? ?
    Interface HTMLImageElement
    DOM1 name ? ? ?
    align ? ? ?
    alt ? ? ?
    border ? ? ?
    height ? ? ?
    hspace ? ? ?
    isMap ? ? ?
    longDesc ? ? ? ?
    src ? ? ?
    useMap ? ? ?
    vspace ? ? ?
    width ? ? ?
    Interface HTMLObjectElement
    DOM1 form ? ? ? ? ?
    code ? ? ?
    align ? ? ?
    archive ? ? ? ? ?
    border ? ? ? ? ?
    codeBase ? ? ?
    codeType ? ? ?
    data ? ? ?
    declare ? ? ? ? ?
    height ? ? ?
    hspace ? ? ?
    name ? ? ?
    standby ? ? ? ? ?
    tabIndex ? ? ? ? ?
    type ? ? ?
    useMap ? ? ? ? ?
    vspace ? ? ?
    width ? ? ?
    contentDocument ? ? ?
    Interface HTMLParamElement
    DOM1 name ? ? ? ? ?
    type ? ? ? ? ?
    value ? ? ? ? ?
    valueType ? ? ? ?
    Interface HTMLMapElement
    DOM1 areas ? ? ?
    name ? ? ?
    Interface HTMLAreaElement
    DOM1 accesskey ? ? ? ? ?
    alt ? ? ?
    coords ? ? ?
    hrefs ? ? ? ? ?
    noHrefs ? ? ? ? ?
    shape ? ? ?
    tabIndex ? ? ? ? ?
    target ? ? ?
    Interface HTMLScriptElement
    DOM1 text ? ? ?
    htmlFor (reserved for future use) ? ? ?
    event (reserved for future use) ? ? ?
    charset ? ? ? ? ?
    defer ? ? ?
    src ? ? ?
    type ? ? ?
    target ? ? ? ? ?
    Interface HTMLTableElement
    DOM1 caption ? ? ?
    tHead ? ? ?
    tFoot ? ? ?
    rows ? ? ?
    tBodies ? ? ?
    align ? ? ?
    bgColor ? ? ?
    border ? ? ?
    cellPadding ? ?
    cellSpacing ? ? ?
    frame ? ? ?
    rules ? ? ?
    summary ? ? ?
    width ? ? ?
    createTHead ? ? ?
    deleteTHead ? ? ?
    createTFoot ? ? ?
    deleteTFoot ? ? ?
    createCaption ? ? ?
    deleteCaption ? ? ?
    insertRow ? ? ?
    deleteRow ? ? ?
    Interface HTMLTableCaptionElement
    DOM1 align ? ? ?
    Interface HTMLTableColElement
    DOM1 align ? ? ?
    ch ? ? ?
    chOff ? ? ?
    span ? ? ?
    vAlign ? ? ?
    width ? ? ?
    Interface HTMLTableSectionElement
    DOM1 align ? ? ?
    ch ? ? ?
    chOff ? ? ?
    vAlign ? ? ?
    rows ? ? ?
    insertRow ? ? ?
    deleteRow ? ? ?
    Interface HTMLTableRowElement
    DOM1 rowIndex ? ? ?
    sectionRowIndex ? ? ?
    cells ? ? ?
    align ? ? ?
    bgColor ? ? ?
    ch ? ? ?
    chOff ? ? ?
    vAlign ? ? ?
    insertCell ? ? ?
    deleteCell ? ? ?
    Interface HTMLTableCellElement
    DOM1 cellIndex ? ?
    abbr ? ? ?
    align ? ? ?
    axis ? ? ?
    bgColor ? ? ?
    ch ? ? ?
    chOff ? ? ?
    colSpan ? ? ?
    headers ? ? ?
    height ? ? ?
    noWrap ? ? ?
    rowSpan ? ? ?
    scope ? ? ? ? ?
    vAlign ? ? ?
    width ? ? ?
    Interface HTMLFrameSetElement
    DOM1 cols ? ? ?
    rows ? ? ?
    Interface HTMLFrameElement
    DOM1 frameBorder ? ? ?
    longDesc ? ? ?
    marginHeight ? ? ?
    marginWidth ? ? ?
    name ? ? ?
    noResize 4.0 ? ? ?
    scrolling ? ? ?
    src ? ? ?
    contentDocument ? ? ?
    Interface HTMLIFrameSetElement
    DOM1 align ? ? ?
    frameBorder ? ? ? ? ?
    height ? ? ?
    longDesc ? ? ?
    marginHeight ? ? ?
    marginWidth ? ? ?
    name ? ? ?
    scrolling ? ? ?
    src ? ? ?
    width ? ? ?
    contentDocument ? ? ?

    Trident HTML notes

  • profile, href, background, action, cite, longDesc, codebase, data, src — Relative URL wasn't resolved to full URL.

    WebKit HTML notes

  • cellIndex — Always return zero (External Link).

    Presto HTML notes

  • text — Opera 8 and lower returned data at src, when it should return inline data instead.

    Style (Style Sheets)

    The interfaces found within this section are not mandatory. The interfaces in this section are base interfaces used to represent any type of style sheet.
    Trident Tasman Gecko WebKit KHTML Presto iCab
    Interface StyleSheet
    DOM2 type ? rowspan="7" ? ?
    disabled ? ? ?
    ownerNode ? ? ?
    parentStyleSheet ? ? ?
    href ? ? ?
    title ? ? ?
    media ? ? ?
    Interface StyleSheetList
    DOM2 length ? rowspan="2" ? ?
    item ? ? ?
    Interface MediaList
    DOM2 mediaText ? rowspan="5" ? ?
    length ? ? ?
    item ? ? ?
    deleteMedium ? ? ?
    appendMedium ? ? ?
    Interface LinkStyle
    DOM2 sheet ? ? ?
    Interface DocumentStyle
    DOM2 styleSheets ? ? ?

    Trident Style (Style Sheets) notes

  • href — Relative URL isn't resolved to full URL.
  • media — Returns string instead of MediaList.

    Style (CSS Fundamental)

    The interfaces within this section are considered fundamental CSS interfaces, and must be supported by all conforming implementations of the CSS module. These interfaces represent CSS style sheets specifically.
    Trident Tasman Gecko WebKit KHTML Presto iCab
    Interface CSSStyleSheet
    DOM2 ownerRule ? ? ? ?
    cssRules ? ?
    insertRule ? ?
    deleteRule ? ?
    Interface StyleSheetList
    DOM2 length ? ? ? ?
    item ? ? ? ?
    Interface CSSRuleList
    DOM2 length ? ? ? ?
    item ? ? ? ?
    Interface CSSRule
    DOM2 type ? ? ? ?
    cssText ? ? ?
    parentStyleSheet ? ?
    parentRule ? ? ? ?
    Interface CSSStyleRule
    DOM2 selectorText ? ?
    style ? ? ? ?
    Interface CSSMediaRule
    DOM2 media ? ? ? ?
    cssRules ? ? ? ?
    insertRule ? ? ? ?
    deleteRule ? ? ? ?
    Interface CSSFontFaceRule
    DOM2 style ? (External Link) ? ? ?
    Interface CSSPageRule
    DOM2 selectorText ? (External Link) ? ? ?
    style ? ? ? ?
    Interface CSSImportRule
    DOM2 href ? ?
    media ? ? ? ?
    styleSheet ? ? ? ?
    Interface CSSCharsetRule
    DOM2 encoding ? ? ? ?
    Interface CSSUnknownRule
    DOM2 (no properties) ? (External Link) ? ? ?
    Interface CSSStyleDeclaration
    DOM2 cssText ? ? ? ?
    length ? ? ? ?
    parentRule ? ? ? ?
    getPropertyValue ? ?
    getPropertyCSSValue ? (External Link) ? ? ?
    removeProperty ? ?
    getPropertyPriority ? ? ?
    setProperty ? ?
    item ? ? ? ?
    Interface CSSValue
    DOM2 cssText ? (External Link) ? ? ?
    cssValueType ? ? ? ?
    Interface CSSPrimitiveValue
    DOM2 primitiveType ? (External Link) ? ? ?
    setFloatValue ? ? ? ?
    getFloatValue ? ? ? ?
    setStringValue ? ? ? ?
    getStringValue ? ? ? ?
    getCounterValue ? ? ? ?
    getRectValue ? ? ? ?
    getRGBColorValue ? ? ? ?
    Interface CSSValueList
    DOM2 length ? ? ? ?
    item ? ? ? ?
    Interface RGBColor
    DOM2 red ? ? ? ?
    green ? ? ? ?
    blue ? ? ? ?
    Interface Rect
    DOM2 top ? ? ? ?
    right ? ? ? ?
    bottom ? ? ? ?
    left ? ? ? ?
    Interface Counter
    DOM2 identifier ? ? ? ?
    listStyle ? ? ? ?
    separator ? ? ? ?
    Interface ViewCSS
    DOM2 getComputedStyle ? ?
    Interface DocumentCSS
    DOM2 getOverrideStyle ? (External Link) ? ? ?
    Interface DOMImplementationCSS
    DOM2 createCSSStyleSheet ? (External Link) ? ? ?
    Interface ElementCSSInlineStyle
    DOM2 style ?

    Tasman Style (CSS Fundamental) notes

  • getPropertyPriority — Returns !important instead of important.

    Style (CSS Extended)

    The interfaces found within this section are not mandatory.
    Trident Tasman Gecko WebKit KHTML Presto iCab
    Interface CSS2Properties
    DOM2 Support this interface ? ? ?
    Properties Please refer to comparison of layout engines (CSS) for the comparison of CSS properties.

    Events

    The interfaces found within this section are not mandatory. The first goal is the design of a generic event system which allows registration of event handlers, describes event flow through a tree structure, and provides basic contextual information for each event. The second goal of the event model is to provide a common subset of the current event systems used in DOM Level 0 browsers. See also DOM Events for details.
    Trident Tasman Gecko WebKit KHTML Presto iCab
    Interface EventTarget
    DOM2 addEventListener ? ?
    removeEventListener ? ? ?
    dispatchEvent ? ? ?
    Interface EventListener
    DOM2 handleEvent ? ? ? ? ? ?
    Interface Event
    DOM2 type ? ? ?
    target ? ?
    currentTarget ? ? ?
    eventPhase ? ? ?
    bubbles ? ? ?
    cancelable ? ? ?
    timeStamp ? ? ?
    stopPropagation ? ? ?
    preventDefault ? ? ?
    initEvent ? ? ?
    Exception EventException
    DOM2 code ? ? ?
    Interface DocumentEvent
    DOM2 createEvent ? ? ?
    Interface UIEvent
    DOM2 view (External Link) ? ? ?
    detail ? ? ?
    initUIEvent ? ? ?
    Events for interface UIEvent
    DOM2 DOMFocusIn ? ? ?
    DOMFocusOut ? ? ?
    DOMActivate ? ? ?
    Interface MouseEvent
    DOM2 screenX ? ?
    screenY ? ?
    clientX ? ?
    clientY ? ?
    ctrlKey ? ?
    shiftKey ? ?
    altKey ? ?
    metaKey ? ?
    button ? ?
    relatedTarget ? ?
    initMouseEvent ? ? ? ? ?
    Events for interface MouseEvent
    DOM2 click ? ? ?
    mousedown ? ? ?
    mouseup ? ? ?
    mouseover ? ? ?
    mousemove ? ? ?
    mouseout ? ? ?
    Interface MutationEvent
    DOM2 relatedNode ? ? ?
    prevValue ? ? ?
    newValue ? ? ?
    attrName ? ? ?
    attrChange ? ? ?
    initMutationEvent ? ? ?
    Events for interface MutationEvent
    DOM2 DOMSubtreeModified (External Link) ? ? ?
    DOMNodeInserted ? ? ?
    DOMNodeRemoved ? ? ?
    DOMNodeRemovedFromDocument (External Link) ? ? ?
    DOMNodeInsertedIntoDocument (External Link) ? ? ?
    DOMAttrModified ? ? ?
    DOMCharacterDataModified ? ? ?
    Events for HTML
    DOM2 load ? ? ?
    unload ? ? ?
    abort ? ? ?
    error ? ? ?
    select ? ? ?
    change ? ? ?
    submit ? ? ?
    reset ? ? ?
    focus ? ? ?
    blur ? ? ?
    resize ? ? ?
    scroll ? ? ?

    Trident Events notes

  • button — Does not use W3C values.

    Tasman Events notes

  • button — Does not use W3C values.

    Gecko Events notes

  • target — Return text node, if any, of the target element node prior to 1.3.
  • timeStamp — Returns a string, but should return a Date (External Link).

    WebKit Events notes

  • target — Return text node, if any, of the target element node (fixed in v73, but reverted in v85).
  • clientX, clientY — Treated as pageX and pageY.
  • button — Does not use W3C values.

    Presto Events notes

  • button — Does not use W3C values prior to 8.0.

    Views

    The interfaces found within this section are not mandatory. A document may have one or more "views" associated with it, for example, a computed view on a document after applying a CSS stylesheet, or multiple presentations (for example HTML frame) of the same document in a client. That is, a view is some alternate representation of, or a presentation of, and associated with, a source document.
    Trident Tasman Gecko WebKit KHTML Presto iCab
    Interface AbstractView
    DOM2 document ? ? ? ?
    Interface DocumentView
    DOM2 defaultView ? ? ? ?

    Trident notes

  • defaultView — Trident doesn't support the defaultView property for documents, but it supports another property with the same meaning which is parentWindow.

    Traversal

    The interfaces found within this section are not mandatory. Its interfaces provide easy-to-use, robust, selective traversal of a document's contents.
    Trident Tasman Gecko WebKit KHTML Presto iCab
    Interface NodeIterator
    DOM2 root ? ? ? ?
    whatToShow ? ? ? ?
    filter ? ? ? ?
    expandEntityReferences ? ? ? ?
    nextNode ? ? ? ?
    previousNode ? ? ? ?
    detach ? ? ?</